package com.example.demo.domain;

import java.math.BigDecimal;
import java.util.Date;

public class SysPayOrder {
    /**
     * 支付订单号
     */
    private String payOrderId;

    /**
     * 商户id
     */
    private Long mchId;

    /**
     * 商户订单号
     */
    private String mchOrderNo;

    /**
     * 商户费率
     */
    private BigDecimal mchRate;

    /**
     * 商户入账,单位分
     */
    private Long mchIncome;

    /**
     * 代理id（0表示没有代理）
     */
    private Long agentId;

    /**
     * 代理费率（0表示没有代理）
     */
    private BigDecimal agentRate;

    /**
     * 代理入账,单位分(商户费率-代理费率 然后 乘以订单金额)
     */
    private Long agentIncome;

    /**
     * 支付产品id
     */
    private Long productId;

    /**
     * 支付通道id
     */
    private Long channelId;

    /**
     * 通道订单号
     */
    private String channelOrderNo;

    /**
     * 通道费率
     */
    private BigDecimal channelRate;

    /**
     * 通道成本,单位分
     */
    private Long channelCost;

    /**
     * 订单金额，单位分
     */
    private Long orderAmount;

    /**
     * 支付状态,
     * 0-支付失败。下单失败等
     * 1-订单生成。准备下单
     * 2-支付中。下单成功
     * 3-支付成功。准备回调
     * 4-业务处理完成。回调完成
     */
    private String status;

    /**
     * 下单客户端ip。
     */
    private String clientIp;

    /**
     * 设备信息。android、ios、pc
     */
    private String device;

    /**
     * 额外参数，有则原样返回。get请求中中文注意URLEncode
     */
    private String extra;

    /**
     * 回调地址
     */
    private String notifyUrl;

    /**
     * 支付成功后跳转页面
     */
    private String returnUrl;

    /**
     * 支付成功时间戳。13位
     */
    private Long paySuccessTime;

    /**
     * 订单创建时间
     */
    private Date createTime;

    /**
     * 平台利润、单位分
     */
    private Long platIncome;

    /**
     * 支付链接
     */
    private String payUrl;

    /**
     * 下单错误信息
     */
    private String errMsg;

    public String getPayOrderId() {
        return payOrderId;
    }

    public void setPayOrderId(String payOrderId) {
        this.payOrderId = payOrderId;
    }

    public Long getMchId() {
        return mchId;
    }

    public void setMchId(Long mchId) {
        this.mchId = mchId;
    }

    public String getMchOrderNo() {
        return mchOrderNo;
    }

    public void setMchOrderNo(String mchOrderNo) {
        this.mchOrderNo = mchOrderNo;
    }

    public BigDecimal getMchRate() {
        return mchRate;
    }

    public void setMchRate(BigDecimal mchRate) {
        this.mchRate = mchRate;
    }

    public Long getMchIncome() {
        return mchIncome;
    }

    public void setMchIncome(Long mchIncome) {
        this.mchIncome = mchIncome;
    }

    public Long getAgentId() {
        return agentId;
    }

    public void setAgentId(Long agentId) {
        this.agentId = agentId;
    }

    public BigDecimal getAgentRate() {
        return agentRate;
    }

    public void setAgentRate(BigDecimal agentRate) {
        this.agentRate = agentRate;
    }

    public Long getAgentIncome() {
        return agentIncome;
    }

    public void setAgentIncome(Long agentIncome) {
        this.agentIncome = agentIncome;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Long getChannelId() {
        return channelId;
    }

    public void setChannelId(Long channelId) {
        this.channelId = channelId;
    }

    public String getChannelOrderNo() {
        return channelOrderNo;
    }

    public void setChannelOrderNo(String channelOrderNo) {
        this.channelOrderNo = channelOrderNo;
    }

    public BigDecimal getChannelRate() {
        return channelRate;
    }

    public void setChannelRate(BigDecimal channelRate) {
        this.channelRate = channelRate;
    }

    public Long getChannelCost() {
        return channelCost;
    }

    public void setChannelCost(Long channelCost) {
        this.channelCost = channelCost;
    }

    public Long getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(Long orderAmount) {
        this.orderAmount = orderAmount;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getClientIp() {
        return clientIp;
    }

    public void setClientIp(String clientIp) {
        this.clientIp = clientIp;
    }

    public String getDevice() {
        return device;
    }

    public void setDevice(String device) {
        this.device = device;
    }

    public String getExtra() {
        return extra;
    }

    public void setExtra(String extra) {
        this.extra = extra;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getReturnUrl() {
        return returnUrl;
    }

    public void setReturnUrl(String returnUrl) {
        this.returnUrl = returnUrl;
    }

    public Long getPaySuccessTime() {
        return paySuccessTime;
    }

    public void setPaySuccessTime(Long paySuccessTime) {
        this.paySuccessTime = paySuccessTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getPlatIncome() {
        return platIncome;
    }

    public void setPlatIncome(Long platIncome) {
        this.platIncome = platIncome;
    }

    public String getPayUrl() {
        return payUrl;
    }

    public void setPayUrl(String payUrl) {
        this.payUrl = payUrl;
    }

    public String getErrMsg() {
        return errMsg;
    }

    public void setErrMsg(String errMsg) {
        this.errMsg = errMsg;
    }
}